#define _CRT_SECURE_NO_WARNINGS
//#include <iostream>
//using namespace std;
//
//int main() {
//    float a;
//    char c;
//    cin >> a>>c;
//    int cnt = 20;
//    a -= 1;
//    while (a > 0) {
//        cnt += 1;
//        a -= 1;
//    }
//     if(c=='y')
//     {
//         cnt+=5;
//     }
//     cout << cnt << endl;
//    return 0;
//}
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <unordered_set>
using namespace std;

//int main() {
//    int a;
//    cin >> a;
//    vector<string> strs(a);
//    string str1, str2;
//    cin >> str1 >> str2;
//    vector<int> str1ids;
//    vector<int> str2ids;
//    for (int i = 0; i < a; i++)
//    {
//        cin >> strs[i];
//    }
//    for (int i = 0; i < strs.size(); i++)
//    {
//        if (str1 == strs[i])
//        {
//            str1ids.push_back(i);
//        }
//    }
//    if (str1ids.empty())
//    {
//        cout << -1 << endl;
//        return 0;
//    }
//    for (int i = 0; i < strs.size(); i++)
//    {
//        if (str2 == strs[i])
//        {
//            str2ids.push_back(i);
//        }
//    }
//    if (str2ids.empty())
//    {
//        cout << -1 << endl;
//        return 0;
//    }
//    int minstep = abs(str1ids[0]-str2ids[0]);
//    for (auto str1id : str1ids)
//    {
//        for (auto str2id : str2ids)
//        {
//            minstep = min(abs(str1id - str2id), minstep);
//        }
//    }
//    cout << minstep << endl;
//
//    return 0;
//
//}
//int sum(int n)
//{
//    int sum = 0;
//    while (n > 9)
//    {
//        sum += pow((n % 10), 2);
//        n /= 10;
//    }
//    sum += pow(n, 2);
//    return sum;
//}
//bool isHappy(int n) {
//    int fast = sum(n);
//    fast = sum(fast);
//    int slow = sum(n);
//    while (fast != slow)
//    {
//        fast = sum(fast);
//        fast = sum(fast);
//        slow = sum(slow);
//    }
//    if (fast == slow == 1)
//    {
//        return true;
//    }
//    return false;
//}
//vector<int> twoSum(vector<int>& nums, int target) {
//    vector<int> rets;
//    sort(nums.begin(), nums.end());
//    int left = 0, right = nums.size() - 1;
//    while (left < right)
//    {
//        int sum = nums[left] + nums[right];
//        if (sum < target)
//        {
//            ++left;
//        }
//        else if (sum > target)
//        {
//            --right;
//        }
//        else
//        {
//            rets.push_back(left);
//            rets.push_back(right);
//            break;
//        }
//    }
//    return rets;
//}
//vector<vector<int>> threeSum(vector<int>& nums) {
//    sort(nums.begin(), nums.end());
//    vector<vector<int>> rets;
//    int i = 0;
//    int n = nums.size();
//    while (i < n)
//    {
//        int j = i + 1;
//        while (j < n)
//        {
//            int k = j + 1;
//            while (k < n)
//            {
//                if (nums[i] + nums[j] + nums[k] == 0)
//                {
//                    rets.push_back({ nums[i],nums[j],nums[k] });
//                }
//                k++;
//                while (k < n && nums[k] == nums[k - 1])
//                {
//                    k++;
//                }
//            }
//            j++;
//            while (j < n && nums[j] == nums[j - 1])
//            {
//                j++;
//            }
//        }
//        i++;
//        while (i < n && nums[i] == nums[i - 1])
//        {
//            i++;
//        }
//    }
//    return rets;
//}
//int minSubArrayLen(int target, vector<int>& nums) {
//    int left = 0, right = 0;
//    int sum = 0;
//    int len = 0;
//    while (left < nums.size())
//    {
//        if (right<nums.size()&&sum < target)
//        {
//            sum += nums[right++];
//        }
//        else if(sum>=target)
//        {
//            if (len == 0)
//            {
//                len = right - left;
//            }
//            len = min(right - left, len);
//            sum -= nums[left];
//            left++;
//        }
//        else
//        {
//            break;
//        }
//    }
//    return len;
//}
//int main()
//{
//    //vector<int> vein;
//    ////vector<int> rets;
//    ////vector<vector<int>> rets;
//    //vein.push_back(2);
//    //vein.push_back(3);
//    //vein.push_back(1);
//    //vein.push_back(2);
//    //vein.push_back(4);
//    //vein.push_back(3);
//    ////rets=twoSum(vein, 6);
//    ////rets = threeSum(vein);
//    //int i = minSubArrayLen(7, vein);
//
//	return 0;
//}

//int& Add(int a, int b)
//{
//    int c = a + b;
//    return c;
//}
//int main()
//{
//    int& ret = Add(1, 2);
//    Add(3, 4);
//    cout << "Add(1, 2) is :" << ret << endl;
//    return 0;
//}
//class A
//{
//
//public:
//    void Print()
//    {
//        cout << "Print()" << endl;
//    }
//private:
//    int _a;
//};
//int main()
//{
//    A* p = nullptr;
//    p->Print();
//    return 0;
//}
//int lengthOfLongestSubstring(string s) {
//    if (s.empty())
//    {
//        return 0;
//    }
//    int left = 0;
//    int right = 0;
//    int ret = 1;
//    while (right < s.size())
//    {
//        right = left + 1;
//        while (right < s.size() && s[right] != s[left])
//        {
//            ret = max(ret, right - left + 1);
//            right++;
//        }
//        left++;
//    }
//    return ret;
//}
//
//int main()
//{
//    string s = "abcabcbb";
//    int i = lengthOfLongestSubstring(s);
//    cout << i << endl;
//    return 0;
//}

//vector<int> findAnagrams(string s, string p) {
//    vector<int> hashp(128);
//    vector<int> hashs(128);
//    vector<int> ret;
//    for (auto e : p)
//    {
//        hashp[e]++;
//    }
//    for (int i = 0; i < p.size(); i++)
//    {
//        hashs[s[i]]++;
//    }
//    int left = 0, right = p.size() - 1;
//    while (right < s.size())
//    {
//        if (equal(hashp.begin(), hashp.end(), hashs.begin()))
//        {
//            ret.push_back(left);
//        }
//        hashs[s[left++]]--;
//        hashs[s[++right]]++;
//    }
//    return ret;
//
//}
//int main()
//{
//    string s = "cbaebabacd";
//    string p = "abc";
//    vector<int> ret = findAnagrams(s, p);
//    return 0;
//}

//int main()
//{
//    string s1;
//    string s2("abcdefghijklmn");
//    string s3(s2);
//    string s4(10, 'a');
//    //cout << s2.size()<<endl;
//    //cout << s2 << endl;
//    //cout << s2.capacity() << endl;
//    //s2.resize(20);
//    //cout << s2.size() << endl;
//    //cout << s2 << endl;
//    //cout << s2.capacity() << endl;
//    //s2.resize(10);
//    //cout << s2.size() << endl;
//    //cout << s2 << endl;
//    //cout << s2.capacity() << endl;
//    //s2.resize(5);
//    //cout << s2.size() << endl;
//    //cout << s2 << endl;
//    //cout << s2.capacity() << endl;
//
//    cout << s3.size() << endl;
//    cout << s3 << endl;
//    cout << s3.capacity() << endl;
//    s3.reserve(20);
//    cout << s3.size() << endl;
//    cout << s3 << endl;
//    cout << s3.capacity() << endl;
//    s3.reserve(5);
//    cout << s3.size() << endl;
//    cout << s3 << endl;
//    cout << s3.capacity() << endl;
//    return 0;
//}

//#include <iostream>       // std::cout
//#include <string>         // std::string
//
//int main()
//{
//    std::string str("There are two needles in this haystack with needl needles1.");
//    std::string str2("needle");
//
//    // different member versions of find in the same order as above:
//    std::size_t found = str.find(str2);
//    if (found != std::string::npos)
//        std::cout << "first 'needle' found at: " << found << '\n';
//
//    found = str.find("needles123", found + 1, 7);
//    if (found != std::string::npos)
//        std::cout << "second 'needle' found at: " << found << '\n';
//
//    found = str.find("haystack");
//    if (found != std::string::npos)
//        std::cout << "'haystack' also found at: " << found << '\n';
//
//    found = str.find('.');
//    if (found != std::string::npos)
//        std::cout << "Period found at: " << found << '\n';
//
//    // let's replace the first needle:
//    str.replace(str.find(str2), str2.length(), "preposition");
//    std::cout << str << '\n';
//
//    return 0;
//}

//int stoi(char ch)
//{
//    return ch - '0';
//}
//string multiply(string num1, string num2) {
//    reverse(num1.begin(), num1.end());
//    reverse(num2.begin(), num2.end());
//    int n = num1.size();
//    int m = num2.size();
//    vector<int> result(n + m, 0);
//    for (int i = 0; i < n; i++)
//    {
//        int k = i;
//        for (int j = 0; j < m; j++)
//        {
//            result[k++] += stoi(num1[i]) * stoi(num2[j]);
//        }
//    }
//    int num = 0;
//    int id = 0;
//    for (int i = 0; i < result.size(); i++)
//    {
//        result[i] += id;
//        id = result[i] / 10;
//        result[i] %= 10;
//    }
//    return "a";
//
//
//}
//int main()
//{
//    string num1 = "123";
//    string num2 = "456";
//    multiply(num1, num2);
//
//	return 0;
//}
int main()
{
	vector<int> arr;
	for (int i = 0;i < 10; i++)
	{
		arr.push_back(i);
	}
	auto it = arr.begin() + 2;
	cout << *it << endl;

	return 0;
}